package cn.edu.zut.soft.student.service.student;

import cn.edu.zut.soft.student.bean.PageBean;
import cn.edu.zut.soft.student.model.Student;
import cn.edu.zut.soft.student.service.student.vo.StudnetQuery;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Author ChrisPhantom
 * @CreatDate 2021/02/22 14:47
 */
public interface StudentBo {

    /*
     * @Param: [student]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 14:48
     * @Description: 新增学生
     */
    public int addStudent(Student student);

    /*
     * @Param: [file]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/25 23:17
     * @Description: 导入学生
     */
    public int importStudents(MultipartFile file) throws Exception;

    /*
     * @Param: [studentid]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 14:48
     * @Description: 按学号删除
     */
    public int deleteStudent(String studentid);

    /*
     * @Param: [student]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 14:49
     * @Description: 更新学生信息
     */
    public int updateStudent(Student student);

    /*
     * @Param: [studentid]
     * @Return: cn.edu.zut.soft.student.model.Student
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 14:49
     * @Description: 按学号查询
     */
    public Student queryStudentById(String studentid);

    /*
     * @Param: []
     * @Return: cn.edu.zut.soft.student.bean.PageBean<java.util.List<cn.edu.zut.soft.student.model.Student>>
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 14:50
     * @Description: 按需获取学生列表
     */
    public PageBean<List<Student>> queryStudents(StudnetQuery studnetQuery);

    /*
     * @Param: [studentid]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/22 21:14
     * @Description: 重置学生密码
     */
    public int resetPassword(String studentid, String password);

    /*
     * @Param: [courseid]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/23 23:19
     * @Description: 学生选课
     */
    public int selectCourse(String courseid, String studentid);

    /*
     * @Param: [courseid, studentid]
     * @Return: int
     * @Author: ChrisPhantom
     * @Date: 2021/2/24 11:42
     * @Description: 学生退选课程
     */
    public int deleteSelectCourse(String courseid, String studentid);
}
